Analisaremos o conjunto de dados de 890 candidatos que comentaram assuntos pró direitos humanos em todo o Brasil, percorrendo 244 cidades em 24 estados os candidatos a vereadores da eleição de 2016 responderão se foram a favor desses temas. Separamos no conjunto dos dados os partidos em dois lados (Esquerda, Direita) para isso baseamos no site e assim classificamos os seguintes partidos como de Esquerda: PT,PDT,PTdoB,PSB,REDE,PSOL,PC do B, PCB.
respostas = read_csv(here::here("data/respostas-merepresenta-2016.csv"),
col_types = cols(.default = col_character(),
nota_partido = col_integer(),
votos_recebidos = col_integer()))
# A versão long (em vez de wide) dos dados facilita muito pro ggplot:
respostas_long =
respostas %>%
gather(key = "tema",
value = "resposta",
10:23) %>%
mutate(lado = sigla_partido %in% c("PT","PDT","PTdoB","PSB","PROS","REDE","PSOL","PC do B","PCB"))
Para conhcer mais os dados iremos observar quais os temas presente e sua proporção do temas mais aprovados e menos aprovados.

Como podemos observar os temas que foram votado e sua proporção considerando que o tema orçamento participativo como o tema de mais interesse de todos os que votaram e desmilitarização da policia como o o menos vota entre os candidados.
Qual partido está mais em defesa dos temas relacionados a classe LGBT?
Para verificar está associação analisamos a proporção associada ao numero de respostas á favor desses temas e os partidos que são á favor desses temas.
respostas_long %>%
filter(tema %in% c("Adoção por famílias LGBTs",
"Respeito à identidade de gênero de pessoas trans",
"Criminalização da LGBTfobia") ) %>%
group_by(sigla_partido,lado) %>%
summarise(proporção = sum(resposta == "S")/n(),
quantidade = n()) %>%
plot_ly(x = ~proporção,
y = ~reorder(sigla_partido,proporção),
text = ~paste("Partido: ", sigla_partido, "\nEsquerda:", lado,"\nQuantidade de candidatos no partido:",quantidade),
color = ~lado)
No trace type specified:
Based on info supplied, a 'bar' trace seems appropriate.
Read more about this trace type -> https://plot.ly/r/reference/#bar
minimal value for n is 3, returning requested palette with 3 different levels
No trace type specified:
Based on info supplied, a 'bar' trace seems appropriate.
Read more about this trace type -> https://plot.ly/r/reference/#bar
minimal value for n is 3, returning requested palette with 3 different levels
Como podemos observar o partido PSTU e PCB como os partidos mais á favor do tema, porém, podemos analisar em relação a seu tamanho que o número de candidatos desses partidos que responderam o questionamento como muito pequeno e assim torna mais fácil em sua totalidade todos serem á favor do tema, tirando esse paramentro de tamanho observamos os partidos como PSOL, PT com uma grande quantidade de candidatos e observamos que em sua maioria esses partidos estão em grande defesa nos temas relacionado a LGBT. Observamos que os partidos que menos apoia esses temas são partidos considerados Cristãos são eles PRB, PSC, PHS e PSDC.
Qual Estádo onde onde o tema sobre violência contra mulher é mais considerado entre os candidatos.
Utilizaremos medida de proporção em relação aos estados com o tema de Combate à violência conta mulher e assim também observar se direita ou esquerda qual lado estária mais á favor deste tema.
respostas_long %>%
filter(tema %in% c("Combate à violência contra mulher") ) %>%
group_by(sigla_estado,lado) %>%
summarise(proporção = sum(resposta == "S")/n(),
quantidade = n()) %>%
plot_ly(x = ~proporção,
y = ~reorder(sigla_estado,proporção),
text = ~paste("Estado: ", sigla_estado,
"\nEsquerda:", lado,
"\nQuantidade de candidatos nos partidos:",quantidade),
color = ~lado)
No trace type specified:
Based on info supplied, a 'bar' trace seems appropriate.
Read more about this trace type -> https://plot.ly/r/reference/#bar
minimal value for n is 3, returning requested palette with 3 different levels
No trace type specified:
Based on info supplied, a 'bar' trace seems appropriate.
Read more about this trace type -> https://plot.ly/r/reference/#bar
minimal value for n is 3, returning requested palette with 3 different levels
Como podemos observar em sua maioria os em relação aos estados são á favor do combate da violência contra a mulher observamos a proporção 1, mas podemos considerar que o número de candidatos desses estados como algo pequeno diante da amostra. Podemos considerar o estado de São Paulo em específico em que os lados de Esquerda (x) Direita toda proporções um pouco diferente e nesse estado observamos um número considerável de candidatos que respondeu o questionário assim observamos que a proporção dos candidatos de Esquerda um pouco maior, mas considerando ambos os lados o estado tem uma proporção boa de candidatos á favor do tema.
Qual perfil dos candidatos da Bahia e quais temas eles são mais favoraveis.
Primeiro analisaremos o perfil considerando o gênero e cor dos candidatos deste estado para conhecer um pouco mais tendo em vista na questão sobre violência conta mulher o estado não se comporta.
respostas_long %>%
filter(sigla_estado == "BA") %>%
group_by(genero,cor_tse) %>%
summarise(count = n()) %>%
plot_ly(x = ~cor_tse, y = ~count, color = ~genero)
No trace type specified:
Based on info supplied, a 'bar' trace seems appropriate.
Read more about this trace type -> https://plot.ly/r/reference/#bar
Ignoring 1 observationsminimal value for n is 3, returning requested palette with 3 different levels
No trace type specified:
Based on info supplied, a 'bar' trace seems appropriate.
Read more about this trace type -> https://plot.ly/r/reference/#bar
Ignoring 1 observationsminimal value for n is 3, returning requested palette with 3 different levels
Observamos que na Bahia em sua maioria os candidatos são da cor declarada preta e possui mais homens.
Nesse aspecto podemos observa qual tema em que possui maio (proporção) de apoio dos candidatos da Bahia.

Podemos observar que transparência e orçamento participativo como temas com uma grande proporção e que coincide com o tema geral entre os candidatos, mas vale observar que o tema Cota para mulheres no legislativo como um tema que teve a mesma proporção considerada alta entre os temas e algo que não foi tão votado pelos outros estados no contexto geral. Vale salientar que o número de mulheres candidatas que participaram da pesquisa não foi nada relativamente grande considerando que o número de homens quase o dobro, podemos associar isto aos dados do IBGE que mostra que a Bahia é um dos estados que menos tem participação na câmera legislativa e desse modo consideramos que esse tema é algo recorrente na política baiana baseado. Dados Baseados nesta reportagem
Conclusão
Devemos considerar que os dados abordados é baseado em uma pesquisa feita onde todos os candidatos que respondeu foram de forma voluntario e nem todos os candidatos que participarão da eleição de 2016 responderam e desse modo o que foi demostrado acima não podemos considerar como uma verdade absoluta para os partidos ou para os lados (Esquerda, Direita) e assim podemos frisar que como se trata de eleições municipais muitos candidatos trocam de partidos por algo que os beneficiam e não pelo que o partido representa as caraterística que carregam e desse modo as vezes candidatos podem se colocar contra temáticas defendidas pelo próprio partido. Assim concluímos que o que foi demostrado são assuntos relacionado aos dados e nem sempre o que está exposto foi o que realmente o candidato fez caso tenha sido eleito.
LS0tCnRpdGxlOiAiUHLDsyBkaXJlaXRvcyBodW1hbm9zIDogRGlyZWl0YSAoWCkgRXNxdWVyZGEiCm91dHB1dDogaHRtbF9ub3RlYm9vawphdXRvdXI6IFZpbmljaXVzIEJyYW5kw6NvCi0tLQoKCmBgYHtyIGVjaG89RkFMU0UsIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0V9CmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KGhlcmUpCmxpYnJhcnkocGxvdGx5KQp0aGVtZV9zZXQodGhlbWVfYncoKSkKYGBgCgoKQW5hbGlzYXJlbW9zIG8gY29uanVudG8gZGUgZGFkb3MgZGUgODkwIGNhbmRpZGF0b3MgcXVlIGNvbWVudGFyYW0gYXNzdW50b3MgcHLDsyBkaXJlaXRvcyBodW1hbm9zIGVtIHRvZG8gbyBCcmFzaWwsIHBlcmNvcnJlbmRvIDI0NCBjaWRhZGVzIGVtIDI0IGVzdGFkb3Mgb3MgY2FuZGlkYXRvcyBhIHZlcmVhZG9yZXMgZGEgZWxlacOnw6NvIGRlIDIwMTYgcmVzcG9uZGVyw6NvIHNlIGZvcmFtIGEgZmF2b3IgZGVzc2VzIHRlbWFzLiBTZXBhcmFtb3Mgbm8gY29uanVudG8gZG9zIGRhZG9zIG9zIHBhcnRpZG9zIGVtIGRvaXMgbGFkb3MgKEVzcXVlcmRhLCBEaXJlaXRhKSBwYXJhIGlzc28gYmFzZWFtb3Mgbm8gW3NpdGVdKGh0dHA6Ly93d3cuYmJjLmNvbS9wb3J0dWd1ZXNlL2JyYXNpbC00MTA1ODEyMCkgZSBhc3NpbSBjbGFzc2lmaWNhbW9zIG9zIHNlZ3VpbnRlcyBwYXJ0aWRvcyBjb21vIGRlIEVzcXVlcmRhOiBQVCxQRFQsUFRkb0IsUFNCLFJFREUsUFNPTCxQQyBkbyBCLCBQQ0IuCgpgYGB7cn0KcmVzcG9zdGFzID0gcmVhZF9jc3YoaGVyZTo6aGVyZSgiZGF0YS9yZXNwb3N0YXMtbWVyZXByZXNlbnRhLTIwMTYuY3N2IiksIAogICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RhX3BhcnRpZG8gPSBjb2xfaW50ZWdlcigpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b3Rvc19yZWNlYmlkb3MgPSBjb2xfaW50ZWdlcigpKSkKCiMgQSB2ZXJzw6NvIGxvbmcgKGVtIHZleiBkZSB3aWRlKSBkb3MgZGFkb3MgZmFjaWxpdGEgbXVpdG8gcHJvIGdncGxvdDoKcmVzcG9zdGFzX2xvbmcgPSAKICAgIHJlc3Bvc3RhcyAlPiUgCiAgICBnYXRoZXIoa2V5ID0gInRlbWEiLCAKICAgICAgICAgICB2YWx1ZSA9ICJyZXNwb3N0YSIsIAogICAgICAgICAgIDEwOjIzKSAlPiUKICBtdXRhdGUobGFkbyA9IHNpZ2xhX3BhcnRpZG8gJWluJSBjKCJQVCIsIlBEVCIsIlBUZG9CIiwiUFNCIiwiUFJPUyIsIlJFREUiLCJQU09MIiwiUEMgZG8gQiIsIlBDQiIpKQpgYGAKClBhcmEgY29uaGNlciBtYWlzIG9zIGRhZG9zIGlyZW1vcyBvYnNlcnZhciBxdWFpcyBvcyB0ZW1hcyBwcmVzZW50ZSBlIHN1YSBwcm9wb3LDp8OjbyBkbyB0ZW1hcyBtYWlzIGFwcm92YWRvcyBlIG1lbm9zIGFwcm92YWRvcy4KYGBge3J9CnBvcl90ZW1hID0gCiAgICByZXNwb3N0YXNfbG9uZyAlPiUgCiAgICBncm91cF9ieSh0ZW1hKSAlPiUgCiAgICBzdW1tYXJpc2UoYXBvaW8gPSBzdW0ocmVzcG9zdGEgPT0gIlMiKSAvIG4oKSkKCnBvcl90ZW1hICU+JSAKICAgIGdncGxvdChhZXMoeCA9IHJlb3JkZXIodGVtYSwgYXBvaW8pLCB5ID0gYXBvaW8sIHltYXggPSBhcG9pbywgeW1pbiA9IDApKSArIAogICAgZ2VvbV9wb2ludChzaXplID0gMikgKyAKICAgIGdlb21fbGluZXJhbmdlKHNpemUgPSAuMykgKyAKICAgIHNjYWxlX3lfY29udGludW91cyhsaW1pdHMgPSBjKDAsIDEpKSArIAogICAgY29vcmRfZmxpcCgpICsgCiAgICBsYWJzKAogICAgICAgIHkgPSAiUHJvcG9yw6fDo28gZGUgYXBvaW9zIiwgCiAgICAgICAgeCA9ICIiCiAgICApCmBgYApDb21vIHBvZGVtb3Mgb2JzZXJ2YXIgb3MgdGVtYXMgcXVlIGZvcmFtIHZvdGFkbyBlIHN1YSBwcm9wb3LDp8OjbyBjb25zaWRlcmFuZG8gcXVlIG8gdGVtYSBvcsOnYW1lbnRvIHBhcnRpY2lwYXRpdm8gY29tbyBvIHRlbWEgZGUgbWFpcyBpbnRlcmVzc2UgZGUgdG9kb3Mgb3MgcXVlIHZvdGFyYW0gZSBkZXNtaWxpdGFyaXphw6fDo28gZGEgcG9saWNpYSBjb21vIG8gbyBtZW5vcyB2b3RhIGVudHJlIG9zIGNhbmRpZGFkb3MuCgojI1F1YWwgcGFydGlkbyBlc3TDoSBtYWlzIGVtIGRlZmVzYSBkb3MgdGVtYXMgcmVsYWNpb25hZG9zIGEgY2xhc3NlIExHQlQ/ClBhcmEgdmVyaWZpY2FyIGVzdMOhIGFzc29jaWHDp8OjbyBhbmFsaXNhbW9zIGEgcHJvcG9yw6fDo28gYXNzb2NpYWRhIGFvIG51bWVybyBkZSByZXNwb3N0YXMgw6EgZmF2b3IgZGVzc2VzIHRlbWFzIGUgb3MgcGFydGlkb3MgcXVlIHPDo28gw6EgZmF2b3IgZGVzc2VzIHRlbWFzLgoKYGBge3J9CnJlc3Bvc3Rhc19sb25nICU+JQogIGZpbHRlcih0ZW1hICVpbiUgYygiQWRvw6fDo28gcG9yIGZhbcOtbGlhcyBMR0JUcyIsCiAgICAgICAgICAgICAgICAgICAgICJSZXNwZWl0byDDoCBpZGVudGlkYWRlIGRlIGfDqm5lcm8gZGUgcGVzc29hcyB0cmFucyIsCiAgICAgICAgICAgICAgICAgICAgICJDcmltaW5hbGl6YcOnw6NvIGRhIExHQlRmb2JpYSIpICkgJT4lIAogIGdyb3VwX2J5KHNpZ2xhX3BhcnRpZG8sbGFkbykgJT4lCiAgc3VtbWFyaXNlKHByb3BvcsOnw6NvID0gc3VtKHJlc3Bvc3RhID09ICAiUyIpL24oKSwgCiAgICAgICAgICAgIHF1YW50aWRhZGUgPSBuKCkpICU+JQogIHBsb3RfbHkoeCA9IH5wcm9wb3LDp8OjbywgCiAgICAgICAgICAgICB5ID0gfnJlb3JkZXIoc2lnbGFfcGFydGlkbyxwcm9wb3LDp8OjbyksCiAgICAgICAgICAgIHRleHQgPSB+cGFzdGUoIlBhcnRpZG86ICIsIHNpZ2xhX3BhcnRpZG8sIAogICAgICAgICAgICAgICAgICAgICAgICAgICJcbkVzcXVlcmRhOiIsIGxhZG8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlxuUXVhbnRpZGFkZSBkZSBjYW5kaWRhdG9zIG5vIHBhcnRpZG86IixxdWFudGlkYWRlKSwKICAgIGNvbG9yID0gfmxhZG8pIApgYGAKQ29tbyBwb2RlbW9zIG9ic2VydmFyIG8gcGFydGlkbyBQU1RVIGUgUENCIGNvbW8gb3MgcGFydGlkb3MgbWFpcyDDoSBmYXZvciBkbyB0ZW1hLCBwb3LDqW0sIHBvZGVtb3MgYW5hbGlzYXIgZW0gcmVsYcOnw6NvIGEgc2V1IHRhbWFuaG8gcXVlIG8gbsO6bWVybyBkZSBjYW5kaWRhdG9zIGRlc3NlcyBwYXJ0aWRvcyBxdWUgcmVzcG9uZGVyYW0gbyBxdWVzdGlvbmFtZW50byBjb21vIG11aXRvIHBlcXVlbm8gZSBhc3NpbSB0b3JuYSBtYWlzIGbDoWNpbCBlbSBzdWEgdG90YWxpZGFkZSB0b2RvcyBzZXJlbSDDoSBmYXZvciBkbyB0ZW1hLCB0aXJhbmRvIGVzc2UgcGFyYW1lbnRybyBkZSB0YW1hbmhvIG9ic2VydmFtb3Mgb3MgcGFydGlkb3MgY29tbyBQU09MLCBQVCBjb20gdW1hIGdyYW5kZSBxdWFudGlkYWRlIGRlIGNhbmRpZGF0b3MgZSBvYnNlcnZhbW9zIHF1ZSBlbSBzdWEgbWFpb3JpYSBlc3NlcyBwYXJ0aWRvcyBlc3TDo28gZW0gZ3JhbmRlIGRlZmVzYSBub3MgdGVtYXMgcmVsYWNpb25hZG8gYSBMR0JULgpPYnNlcnZhbW9zIHF1ZSBvcyBwYXJ0aWRvcyBxdWUgbWVub3MgYXBvaWEgZXNzZXMgdGVtYXMgc8OjbyBwYXJ0aWRvcyBjb25zaWRlcmFkb3MgQ3Jpc3TDo29zIHPDo28gZWxlcyBQUkIsIFBTQywgUEhTIGUgUFNEQy4KCiMjIyBRdWFsIGfDqm5lcm8gw6kgbWFpcyBmYXZvcmF2ZWwgY29tIGEgY2F1c2EgTEdCVD8KUGFyYSBpc3NvIGFuYWxpc2Ftb3MgY29tbyBlc3TDoSBhIGRpc3RyaWJ1acOnw6NvIGRlIGhvbWVucyBlIG11bGhlcmVzIG5vcyBkYWRvcyBlIHN1YXMgZGV2aWRhcyBwcm9wb3LDp8OjbyBkZSBhcG9pbyBhb3MgdGVtYXMgcmVsYWNpb25hZG9zLgoKYGBge3J9CnJlc3Bvc3Rhc19sb25nICU+JQogIGZpbHRlcih0ZW1hICVpbiUgYygiQWRvw6fDo28gcG9yIGZhbcOtbGlhcyBMR0JUcyIsCiAgICAgICAgICAgICAgICAgICAgICJSZXNwZWl0byDDoCBpZGVudGlkYWRlIGRlIGfDqm5lcm8gZGUgcGVzc29hcyB0cmFucyIsCiAgICAgICAgICAgICAgICAgICAgICJDcmltaW5hbGl6YcOnw6NvIGRhIExHQlRmb2JpYSIpLCBnZW5lcm8gJWluJSBjKCJNQVNDVUxJTk8iLCJGRU1JTklOTyIpKSAlPiUgCiAgZ3JvdXBfYnkoZ2VuZXJvLGxhZG8pICU+JQogIHN1bW1hcmlzZShwcm9wb3LDp8OjbyA9IHN1bShyZXNwb3N0YSA9PSAgIlMiKS9uKCksIAogICAgICAgICAgICBxdWFudGlkYWRlID0gbigpKSAlPiUKIHBsb3RfbHkoeCA9IH5wcm9wb3LDp8OjbywgCiAgICAgICAgICAgICB5ID0gfnJlb3JkZXIoZ2VuZXJvLHByb3BvcsOnw6NvKSwKICAgICAgICAgICAgdGV4dCA9IH5wYXN0ZSgiRXNxdWVyZGE6IiwgbGFkbywKICAgICAgICAgICAgICAgICAgICAgICAgICAiXG5RdWFudGlkYWRlIixxdWFudGlkYWRlKSwKICAgICAgICAgICAgIGNvbG9yID0gfmxhZG8pIAogICAgCiAgCmBgYApQb2RlbW9zIG9ic2VydmEgcXVlIGV4aXN0ZSB1bWEgZGlmZXJlbsOnYSBlbnRyZSBvIG7Dum1lcm8gZGUgbXVsaGVyZXMgZSBob21lbnMgY29uc2lkZXJhbmRvIHF1ZSBvIG7Dum1lcm8gZGUgaG9tZW5zIGNoZWdhIGEgc2VyIHF1YXNlIG8gZG9icm8gZG8gcXVlIG9zIGRhcyBtdWxoZXJlcy4KT2JzZXJ2YW1vcyBxdWUgYSBwcm9wb3LDp8OjbyBkZSBtdWxoZXJlcyBxdWUgYXBvaWEgY2F1c2FzIGNvbSB0ZW1hcyByZWxhY2lvbmFkb3MgYSBjbGFzc2UgTEdCVCBtYWlvcmVzIGRvIHF1ZSBhIGRvcyBob21lbnMgZSBwb2RlbW9zIG9ic2VydmEgdGFtYsOpbSBxdWUgZW0gc3VhIChtYWlvcmlhKSB0YW50byBob21lbnMgZSBtdWxoZXJlcyBkYSBFc3F1ZXJkYSB0ZW0gdW1hIHByb3BvcsOnw6NvIG1haW9yIGRlIHNlcmVtIMOhIGZhdm9yZXMgZGVzc2FzIHRlbcOhdGljYXMuCk9ic2VydmFtb3MgcXVlIGhvbWVucyBkZSBwYXJ0aWRvcyBkbyBsYWRvIGRpcmVpdG8gdGVuZGUgw6Egc2VyIG1haXMgY29udHJhIGEgZXNzZXMgdGVtYXMuIAoKCiMjUXVhbCBFc3TDoWRvIG9uZGUgb25kZSBvIHRlbWEgc29icmUgdmlvbMOqbmNpYSBjb250cmEgbXVsaGVyIMOpIG1haXMgY29uc2lkZXJhZG8gZW50cmUgb3MgY2FuZGlkYXRvcy4KVXRpbGl6YXJlbW9zIG1lZGlkYSBkZSBwcm9wb3LDp8OjbyBlbSByZWxhw6fDo28gYW9zIGVzdGFkb3MgY29tIG8gdGVtYSBkZSBDb21iYXRlIMOgIHZpb2zDqm5jaWEgY29udGEgbXVsaGVyIGUgYXNzaW0gdGFtYsOpbSBvYnNlcnZhciBzZSBkaXJlaXRhIG91IGVzcXVlcmRhIHF1YWwgbGFkbyBlc3TDoXJpYSBtYWlzIMOhIGZhdm9yIGRlc3RlIHRlbWEuIAoKYGBge3J9CnJlc3Bvc3Rhc19sb25nICU+JQogIGZpbHRlcih0ZW1hICVpbiUgYygiQ29tYmF0ZSDDoCB2aW9sw6puY2lhIGNvbnRyYSBtdWxoZXIiKSApICU+JSAKICBncm91cF9ieShzaWdsYV9lc3RhZG8sbGFkbykgJT4lCiAgc3VtbWFyaXNlKHByb3BvcsOnw6NvID0gc3VtKHJlc3Bvc3RhID09ICAiUyIpL24oKSwgCiAgICAgICAgICAgIHF1YW50aWRhZGUgPSBuKCkpICU+JQogIHBsb3RfbHkoeCA9ICB+cHJvcG9yw6fDo28sIAogICAgICAgICAgICAgeSA9ICB+cmVvcmRlcihzaWdsYV9lc3RhZG8scHJvcG9yw6fDo28pLAogICAgICAgICAgICAgdGV4dCA9IH5wYXN0ZSgiRXN0YWRvOiAiLCBzaWdsYV9lc3RhZG8sIAogICAgICAgICAgICAgICAgICAgICAgICAgICJcbkVzcXVlcmRhOiIsIGxhZG8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlxuUXVhbnRpZGFkZSBkZSBjYW5kaWRhdG9zIG5vcyBwYXJ0aWRvczoiLHF1YW50aWRhZGUpLAogICAgICAgICAgICAgY29sb3IgPSAgfmxhZG8pIAogICAgCmBgYApDb21vIHBvZGVtb3Mgb2JzZXJ2YXIgZW0gc3VhIG1haW9yaWEgb3MgZW0gcmVsYcOnw6NvIGFvcyBlc3RhZG9zIHPDo28gw6EgZmF2b3IgZG8gY29tYmF0ZSBkYSB2aW9sw6puY2lhIGNvbnRyYSBhIG11bGhlciBvYnNlcnZhbW9zIGEgcHJvcG9yw6fDo28gMSwgbWFzIHBvZGVtb3MgY29uc2lkZXJhciBxdWUgbyBuw7ptZXJvIGRlIGNhbmRpZGF0b3MgZGVzc2VzIGVzdGFkb3MgY29tbyBhbGdvIHBlcXVlbm8gZGlhbnRlIGRhIGFtb3N0cmEuClBvZGVtb3MgY29uc2lkZXJhciBvIGVzdGFkbyBkZSBTw6NvIFBhdWxvIGVtIGVzcGVjw61maWNvIGVtIHF1ZSBvcyBsYWRvcyBkZSBFc3F1ZXJkYSAoeCkgRGlyZWl0YSB0b2RhIHByb3BvcsOnw7VlcyB1bSBwb3VjbyBkaWZlcmVudGUgZSBuZXNzZSBlc3RhZG8gb2JzZXJ2YW1vcyB1bSBuw7ptZXJvIGNvbnNpZGVyw6F2ZWwgZGUgY2FuZGlkYXRvcyBxdWUgcmVzcG9uZGV1IG8gcXVlc3Rpb27DoXJpbyBhc3NpbSBvYnNlcnZhbW9zIHF1ZSBhIHByb3BvcsOnw6NvIGRvcyBjYW5kaWRhdG9zIGRlIEVzcXVlcmRhIHVtIHBvdWNvIG1haW9yLCBtYXMgY29uc2lkZXJhbmRvIGFtYm9zIG9zIGxhZG9zIG8gZXN0YWRvIHRlbSB1bWEgcHJvcG9yw6fDo28gYm9hIGRlIGNhbmRpZGF0b3Mgw6EgZmF2b3IgZG8gdGVtYS4KCiMjIyBRdWFsIHBlcmZpbCBkb3MgY2FuZGlkYXRvcyBkYSBCYWhpYSBlIHF1YWlzIHRlbWFzIGVsZXMgc8OjbyBtYWlzIGZhdm9yYXZlaXMuCgpQcmltZWlybyBhbmFsaXNhcmVtb3MgbyBwZXJmaWwgY29uc2lkZXJhbmRvIG8gZ8OqbmVybyBlIGNvciBkb3MgY2FuZGlkYXRvcyBkZXN0ZSBlc3RhZG8gcGFyYSBjb25oZWNlciB1bSBwb3VjbyBtYWlzIHRlbmRvIGVtIHZpc3RhIG5hIHF1ZXN0w6NvIHNvYnJlIHZpb2zDqm5jaWEgY29udGEgbXVsaGVyIG8gZXN0YWRvIG7Do28gc2UgY29tcG9ydGEuCmBgYHtyfQpyZXNwb3N0YXNfbG9uZyAlPiUKICBmaWx0ZXIoc2lnbGFfZXN0YWRvID09ICJCQSIpICU+JQogIGdyb3VwX2J5KGdlbmVybyxjb3JfdHNlKSAlPiUKICBzdW1tYXJpc2UoY291bnQgPSBuKCkpICU+JQogIHBsb3RfbHkoeCA9IH5jb3JfdHNlLCAgeSA9ICB+Y291bnQsICAgY29sb3IgPSAgfmdlbmVybykKICAKYGBgCgpPYnNlcnZhbW9zIHF1ZSBuYSBCYWhpYSBlbSBzdWEgbWFpb3JpYSBvcyBjYW5kaWRhdG9zIHPDo28gZGEgY29yIGRlY2xhcmFkYSBwcmV0YSBlIHBvc3N1aSBtYWlzIGhvbWVucy4KCk5lc3NlIGFzcGVjdG8gcG9kZW1vcyBvYnNlcnZhIHF1YWwgdGVtYSBlbSBxdWUgcG9zc3VpIG1haW8gKHByb3BvcsOnw6NvKSBkZSBhcG9pbyBkb3MgY2FuZGlkYXRvcyBkYSBCYWhpYS4KCmBgYHtyfQogIHJlc3Bvc3Rhc19sb25nICU+JQogIGZpbHRlcihzaWdsYV9lc3RhZG8gPT0gIkJBIiApICU+JSAKICBncm91cF9ieSh0ZW1hKSAlPiUKICBzdW1tYXJpc2UocHJvcG9yw6fDo28gPSBzdW0ocmVzcG9zdGEgPT0gICJTIikvbigpLCAKICAgICAgICAgICAgcXVhbnRpZGFkZSA9IG4oKSkgJT4lCiAgICBnZ3Bsb3QoYWVzKHggPSByZW9yZGVyKHRlbWEsIHByb3BvcsOnw6NvKSwgeSA9IHByb3BvcsOnw6NvLCB5bWF4ID0gcHJvcG9yw6fDo28sIHltaW4gPSAwKSkgKyAKICAgIGdlb21fcG9pbnQoc2l6ZSA9IDIpICsgCiAgICBnZW9tX2xpbmVyYW5nZShzaXplID0gLjMpICsgCiAgICBzY2FsZV95X2NvbnRpbnVvdXMobGltaXRzID0gYygwLCAxKSkgKyAKICAgIGNvb3JkX2ZsaXAoKSArIAogICAgbGFicygKICAgICAgICB5ID0gIlByb3BvcsOnw6NvIGRlIGFwb2lvcyIsIAogICAgICAgIHggPSAiIgogICAgKQpgYGAKUG9kZW1vcyBvYnNlcnZhciBxdWUgdHJhbnNwYXLDqm5jaWEgZSBvcsOnYW1lbnRvIHBhcnRpY2lwYXRpdm8gY29tbyB0ZW1hcyBjb20gdW1hIGdyYW5kZSBwcm9wb3LDp8OjbyBlIHF1ZSBjb2luY2lkZSBjb20gbyB0ZW1hIGdlcmFsIGVudHJlIG9zIGNhbmRpZGF0b3MsIG1hcyB2YWxlIG9ic2VydmFyIHF1ZSBvIHRlbWEgQ290YSBwYXJhIG11bGhlcmVzIG5vIGxlZ2lzbGF0aXZvIGNvbW8gdW0gdGVtYSBxdWUgdGV2ZSBhIG1lc21hIHByb3BvcsOnw6NvIGNvbnNpZGVyYWRhIGFsdGEgZW50cmUgb3MgdGVtYXMgZSBhbGdvIHF1ZSBuw6NvIGZvaSB0w6NvIHZvdGFkbyBwZWxvcyBvdXRyb3MgZXN0YWRvcyBubyBjb250ZXh0byBnZXJhbC4gVmFsZSBzYWxpZW50YXIgcXVlIG8gbsO6bWVybyBkZSBtdWxoZXJlcyBjYW5kaWRhdGFzIHF1ZSBwYXJ0aWNpcGFyYW0gZGEgcGVzcXVpc2EgbsOjbyBmb2kgbmFkYSByZWxhdGl2YW1lbnRlIGdyYW5kZSBjb25zaWRlcmFuZG8gcXVlIG8gbsO6bWVybyBkZSBob21lbnMgcXVhc2UgbyBkb2JybywgcG9kZW1vcyBhc3NvY2lhciBpc3RvIGFvcyBkYWRvcyBkbyBJQkdFIHF1ZSBtb3N0cmEgcXVlIGEgQmFoaWEgw6kgdW0gZG9zIGVzdGFkb3MgcXVlIG1lbm9zIHRlbSBwYXJ0aWNpcGHDp8OjbyBuYSBjw6JtZXJhIGxlZ2lzbGF0aXZhIGUgZGVzc2UgbW9kbyBjb25zaWRlcmFtb3MgcXVlIGVzc2UgdGVtYSDDqSBhbGdvIHJlY29ycmVudGUgbmEgcG9sw610aWNhIGJhaWFuYSBiYXNlYWRvLiBbRGFkb3MgQmFzZWFkb3MgbmVzdGEgcmVwb3J0YWdlbV0oaHR0cHM6Ly93d3cuY29ycmVpbzI0aG9yYXMuY29tLmJyL25vdGljaWEvbmlkL2JhaGlhLXRlbS1tZW5vci1udW1lcm8tZGUtbXVsaGVyZXMtbm8tY29uZ3Jlc3NvLWUtM28tZW0tcG1zLykKCiMjIENvbmNsdXPDo28KRGV2ZW1vcyBjb25zaWRlcmFyIHF1ZSBvcyBkYWRvcyBhYm9yZGFkb3Mgw6kgYmFzZWFkbyBlbSB1bWEgcGVzcXVpc2EgZmVpdGEgb25kZSB0b2RvcyBvcyBjYW5kaWRhdG9zIHF1ZSByZXNwb25kZXUgZm9yYW0gZGUgZm9ybWEgdm9sdW50YXJpbyBlIG5lbSB0b2RvcyBvcyBjYW5kaWRhdG9zIHF1ZSBwYXJ0aWNpcGFyw6NvIGRhIGVsZWnDp8OjbyBkZSAyMDE2IHJlc3BvbmRlcmFtIGUgZGVzc2UgbW9kbyBvIHF1ZSBmb2kgZGVtb3N0cmFkbyBhY2ltYSBuw6NvIHBvZGVtb3MgY29uc2lkZXJhciBjb21vIHVtYSB2ZXJkYWRlIGFic29sdXRhIHBhcmEgb3MgcGFydGlkb3Mgb3UgcGFyYSBvcyBsYWRvcyAoRXNxdWVyZGEsIERpcmVpdGEpIGUgYXNzaW0gcG9kZW1vcyBmcmlzYXIgcXVlIGNvbW8gc2UgdHJhdGEgZGUgZWxlacOnw7VlcyBtdW5pY2lwYWlzIG11aXRvcyBjYW5kaWRhdG9zIHRyb2NhbSBkZSBwYXJ0aWRvcyBwb3IgYWxnbyBxdWUgb3MgYmVuZWZpY2lhbSBlIG7Do28gcGVsbyBxdWUgbyBwYXJ0aWRvIHJlcHJlc2VudGEgYXMgY2FyYXRlcsOtc3RpY2EgcXVlIGNhcnJlZ2FtIGUgZGVzc2UgbW9kbyBhcyB2ZXplcyBjYW5kaWRhdG9zIHBvZGVtIHNlIGNvbG9jYXIgY29udHJhIHRlbcOhdGljYXMgZGVmZW5kaWRhcyBwZWxvIHByw7NwcmlvIHBhcnRpZG8uCkFzc2ltIGNvbmNsdcOtbW9zIHF1ZSBvIHF1ZSBmb2kgZGVtb3N0cmFkbyBzw6NvIGFzc3VudG9zIHJlbGFjaW9uYWRvIGFvcyBkYWRvcyBlIG5lbSBzZW1wcmUgbyBxdWUgZXN0w6EgZXhwb3N0byBmb2kgbyBxdWUgcmVhbG1lbnRlIG8gY2FuZGlkYXRvIGZleiBjYXNvIHRlbmhhIHNpZG8gZWxlaXRvLgoKCgo=